<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<component-set>
  <components>
    <!--lifecycle mappings-->
    <component>
      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
      <role-hint>dotnet:library</role-hint>
      <implementation>
        org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
      </implementation>
      <configuration>
        <phases>
          <generate-sources>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:generate-assembly-info
          </generate-sources>
          <process-sources>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:process-sources
          </process-sources>
          <process-test-sources>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:process-test-sources
          </process-test-sources>
          <compile>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:compile
          </compile>
          <test-compile>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:test-compile
          </test-compile>
          <test>
              org.sonatype.nmaven.plugins:maven-dotnet-test-plugin:test
          </test>
          <install>
            org.apache.maven.plugins:maven-install-plugin:install
          </install>
          <deploy>
            org.apache.maven.plugins:maven-deploy-plugin:deploy
          </deploy>
        </phases>
      </configuration>
    </component>
    <!--  Support old artifact type -->
    <component>
      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
      <role-hint>library</role-hint>
      <implementation>
        org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
      </implementation>
      <configuration>
        <phases>
          <generate-sources>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:generate-assembly-info
          </generate-sources>
          <process-sources>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:process-sources
          </process-sources>
          <process-test-sources>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:process-test-sources
          </process-test-sources>
          <compile>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:compile
          </compile>
          <test-compile>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:test-compile
          </test-compile>
          <test>
              org.sonatype.nmaven.plugins:maven-dotnet-test-plugin:test
          </test>
          <install>
            org.apache.maven.plugins:maven-install-plugin:install
          </install>
          <deploy>
            org.apache.maven.plugins:maven-deploy-plugin:deploy
          </deploy>
        </phases>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
      <role-hint>dotnet:exe</role-hint>
      <implementation>
        org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
      </implementation>
      <configuration>
        <phases>
          <generate-sources>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:generate-assembly-info
          </generate-sources>
          <process-sources>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:process-sources
          </process-sources>
          <process-test-sources>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:process-test-sources
          </process-test-sources>
          <compile>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:compile
          </compile>
          <test-compile>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:test-compile
          </test-compile>
          <test>
              org.sonatype.nmaven.plugins:maven-dotnet-test-plugin:test
          </test>
          <install>
            org.apache.maven.plugins:maven-install-plugin:install
          </install>
          <deploy>
            org.apache.maven.plugins:maven-deploy-plugin:deploy
          </deploy>
        </phases>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
      <role-hint>dotnet:module</role-hint>
      <implementation>
        org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
      </implementation>
      <configuration>
        <phases>
          <process-sources>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:process-sources
          </process-sources>
          <process-test-sources>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:process-test-sources
          </process-test-sources>
          <compile>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:compile
          </compile>
          <test-compile>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:test-compile
          </test-compile>
          <test>
              org.sonatype.nmaven.plugins:maven-dotnet-test-plugin:test
          </test>
          <install>
            org.apache.maven.plugins:maven-install-plugin:install
          </install>
          <deploy>
            org.apache.maven.plugins:maven-deploy-plugin:deploy
          </deploy>
        </phases>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
      <role-hint>dotnet:winexe</role-hint>
      <implementation>
        org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
      </implementation>
      <configuration>
        <phases>
          <generate-sources>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:generate-assembly-info
          </generate-sources>          
          <process-sources>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:process-sources
          </process-sources>
          <process-test-sources>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:process-test-sources
          </process-test-sources>
          <compile>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:compile
          </compile>
          <test-compile>
              org.sonatype.nmaven.plugins:maven-dotnet-compiler-plugin:test-compile
          </test-compile>
          <test>
              org.sonatype.nmaven.plugins:maven-dotnet-test-plugin:test
          </test>
          <install>
            org.apache.maven.plugins:maven-install-plugin:install
          </install>
          <deploy>
            org.apache.maven.plugins:maven-deploy-plugin:deploy
          </deploy>
        </phases>
      </configuration>
    </component>

    <!--artifact handlers-->
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>dotnet:library</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>dll</extension>
        <type>dotnet:library</type>
        <addedToClasspath>true</addedToClasspath>
      </configuration>
    </component>
    <!-- Support old artifact type -->
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>library</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>dll</extension>
        <type>library</type>
        <addedToClasspath>true</addedToClasspath>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>dotnet:exe</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>exe</extension>
        <type>dotnet:exe</type>
        <addedToClasspath>true</addedToClasspath>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>dotnet:module</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>netmodule</extension>
        <type>dotnet:module</type>
        <addedToClasspath>true</addedToClasspath>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>dotnet:winexe</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>exe</extension>
        <type>dotnet:winexe</type>
        <addedToClasspath>true</addedToClasspath>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>dotnet:gac</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>dll</extension>
        <type>dotnet:gac</type>
        <addedToClasspath>true</addedToClasspath>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>dotnet:gac_generic</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>dll</extension>
        <type>dotnet:gac_generic</type>
        <addedToClasspath>true</addedToClasspath>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>dotnet:gac_msil</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>dll</extension>
        <type>dotnet:gac_msil</type>
        <addedToClasspath>true</addedToClasspath>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>dotnet:gac_32</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>dll</extension>
        <type>dotnet:gac_32</type>
        <addedToClasspath>true</addedToClasspath>
      </configuration>
    </component>
    <component>
      <role>org.sonatype.nmaven.compiler.DotnetCompilerContext</role>
      <implementation>org.sonatype.nmaven.compiler.impl.DotnetCompilerContextImpl</implementation>
    </component>
  </components>
</component-set>